﻿Imports System.Data.SqlClient
Public Class frm_phancong
    Dim cmd As SqlCommand
    Dim da As SqlDataAdapter
    Dim tb As DataTable
    Dim makhoa As String = ""
    Dim malop As String = ""
    Dim magv As String = ""
    Dim maphong As String = ""
    Dim maca As String = ""
    Sub loadfrm()

        cmd = New SqlCommand("sp_phancong_loaddgvphancong", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        dgv_phancong.DataSource = tb
        'load cbo makhoa'
        cmd = New SqlCommand("sp_phancong_loadcbokhoa", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        cbo_makhoa.DataSource = tb
        cbo_makhoa.DisplayMember = "TenKhoa"
        cbo_makhoa.ValueMember = "MaKhoa"
        'load cbo ten lop'
        cmd = New SqlCommand("sp_phancong_loadcbolop", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        cbo_malop.DataSource = tb
        cbo_malop.DisplayMember = "TenLop"
        cbo_malop.ValueMember = "MaLop"
        'load cbo ten giao vien'
        cmd = New SqlCommand("sp_phancong_loadcbogv", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        cbo_magiaovien.DataSource = tb
        cbo_magiaovien.DisplayMember = "MaGiaoVien"
        'load cbo caday'
        cmd = New SqlCommand("sp_phancong_loadcboca", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        cbo_buoiday.DataSource = tb
        cbo_buoiday.DisplayMember = "MaCa"
        'load cbo phongday'
        cmd = New SqlCommand("sp_phancong_loadcbophong", conn)
        da = New SqlDataAdapter(cmd)
        tb = New DataTable
        da.Fill(tb)
        cbo_maphong.DataSource = tb
        cbo_maphong.DataSource = tb
        cbo_maphong.DisplayMember = "TenPhong"
        cbo_maphong.ValueMember = "MaPhong"
        cmd_them.Text = "Thêm"
    End Sub
    Private Sub frm_phancong_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        conn.Open()
        loadfrm()
        cbo_makhoa.Text = "___Chọn Khóa học___"
        cbo_malop.Text = "___Chọn Tên Lớp___"
        cbo_magiaovien.Text = "___Chọn Tên Giáo Viên___"
        cbo_buoiday.Text = "Chọn Buổi dạy"
        cbo_maphong.Text = "___Chọn Phòng dạy___"

    End Sub

    Private Sub dgv_phancong_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv_phancong.CellContentClick
        Dim r As DataGridViewRow = dgv_phancong.CurrentRow
        makhoa = r.Cells("MaKhoa").Value
        cbo_makhoa.Text = r.Cells("MaKhoa").Value
        magv = r.Cells("MaGiaoVien").Value
        cbo_magiaovien.Text = r.Cells("MaGiaoVien").Value
        maca = r.Cells("MaCa").Value
        cbo_buoiday.Text = r.Cells("MaCa").Value
        malop = r.Cells("MaLop").Value
        cbo_malop.Text = r.Cells("MaLop").Value
        maphong = r.Cells("MaPhong").Value
        cbo_maphong.Text = r.Cells("MaPhong").Value
        cmd_them.Text = "Sửa"

    End Sub

    Private Sub cmd_them_Click(sender As Object, e As EventArgs) Handles cmd_them.Click
        If cbo_makhoa.SelectedIndex < 0 Then
            MsgBox("chưa chọn Tên Khoa !!!")
            Exit Sub
        End If
        If cbo_malop.SelectedIndex < 0 Then
            MsgBox("chưa chọn Tên Lớp !!!")
            Exit Sub
        End If
        If cbo_maphong.SelectedIndex < 0 Then
            MsgBox("chưa chọn Tên phòng !!!")
            Exit Sub
        End If
        If cbo_buoiday.SelectedIndex < 0 Then
            MsgBox("chưa chọn Mã Ca !!!")
            Exit Sub
        End If
        If cbo_magiaovien.SelectedIndex < 0 Then
            MsgBox("chưa chọn Mã giáo viên !!!")
            Exit Sub
        End If
        If cmd_them.Text = "Thêm" Then
            cmd = New SqlCommand("sp_phancong_insert", conn)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@magv", cbo_magiaovien.Text)
            cmd.Parameters.AddWithValue("@malop", cbo_malop.SelectedValue.ToString)
            cmd.Parameters.AddWithValue("@makhoa", cbo_makhoa.SelectedValue.ToString)
            cmd.Parameters.AddWithValue("@maphong", cbo_maphong.SelectedValue.ToString)
            cmd.Parameters.AddWithValue("@maca", cbo_buoiday.Text)
            Dim i As Integer = cmd.ExecuteNonQuery
            If i <= 0 Then
                MsgBox("Thêm phân công bị lỗi")
            End If
            If i > 0 Then
                MsgBox("Thêm phân công thành công!")
                loadfrm()
            End If
        End If
        Try
            If cmd_them.Text = "Sửa" Then
                cmd = New SqlCommand("sp_phancong_update", conn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.AddWithValue("@magv", cbo_magiaovien.Text)
                cmd.Parameters.AddWithValue("@malop", cbo_malop.SelectedValue.ToString)
                cmd.Parameters.AddWithValue("@makhoa", cbo_makhoa.SelectedValue.ToString)
                cmd.Parameters.AddWithValue("@maphong", cbo_maphong.SelectedValue.ToString)
                cmd.Parameters.AddWithValue("@maca", cbo_buoiday.Text)
                Dim i As Integer = cmd.ExecuteNonQuery
                If i <= 0 Then
                    MsgBox("Sua phân công bị lỗi")
                End If
                If i > 0 Then
                    MsgBox("Sua phân công thành công!")
                    loadfrm()
                End If
            End If
        Catch ex As Exception
            MsgBox("Không sửa được phân công vì ràng buộc toàn vẹn")
        End Try


    End Sub

    Private Sub XoaToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles XoaToolStripMenuItem.Click
        Try
            Dim cmd As New SqlCommand("sp_phancong_Delete", conn)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@makhoa", dgv_phancong.Item("MaKhoa", dgv_phancong.CurrentRow.Index).Value)
            cmd.Parameters.AddWithValue("@magv", dgv_phancong.Item("MaGiaoVien", dgv_phancong.CurrentRow.Index).Value)
            cmd.Parameters.AddWithValue("@malop", dgv_phancong.Item("MaLop", dgv_phancong.CurrentRow.Index).Value)
            cmd.Parameters.AddWithValue("@maphong", dgv_phancong.Item("MaPhong", dgv_phancong.CurrentRow.Index).Value)
            cmd.Parameters.AddWithValue("@maca", dgv_phancong.Item("MaCa", dgv_phancong.CurrentRow.Index).Value)
            Dim i As Integer = cmd.ExecuteNonQuery
            If i > 0 Then
                MsgBox("Xóa phan cong thành công")
                loadfrm()
            End If
        Catch ex As Exception
            MsgBox("Không xóa được phan cong vì ràng buộc toàn vẹn")
        End Try
    End Sub
End Class